Real-Time Client API
The Real-Time Client API is an Advanced Process Automation feature that provides an alternative for screen connectors, for example when you are using technology that is not compatible with other connectors, or when you own your own development code, and frequently makes changes to it. Such changes may result in losing connectivity with other NICE connectors. Integrating the development code with the Real-Time Client provides an alternative to screen connectivity.
The Real-Time Client API is included with Advanced Process Automation 4.9.6 and higher, and is installed automatically during the Real-Time Client installation.
When the Real-Time Client API is activated, the workstation computer acts as a local server allowing communication via a Web Service. To ensure a secure environment, the Real-Time Client API only allows invocations from the local machine. Any invocation that is sent to the Client API Web Service is automatically checked to verify that the invocation came from the localhost or from the IP address 127.0.0.1. If invocations come from outside the Real-Time Client API machine, they are filtered out and rejected.
Once established, the Real-Time Client API connection is not represented as a physical layer and cannot be accessed via the Physical Objects tab in the Screen Elements area in Real-Time Designer.
Implementing the Real-Time Client API requires the client’s involvement at a developer level.
Real-Time Client API Workflow
The table below describes the workflow for implementing the Real-Time Client API.
Task |
Description |
Reference |
|||
Phase 1: Install and activate Real-Time Client API |
|||||
|
Install and activate Real-Time Client API using silent parameters to push to multiple Agent's machines. - or - Activate Real-Time Client API on a previously installed Real-Time Client machine. For Shared Resources Environments, additional parameters must be configured. See Using Real-Time Client API in a Shared Resources Environment. |
Select one of the following installation methods: Installing RT Client API Using Silent Installation - or - |
|||
Phase 2: Implement Real-Time Client API |
|||||
|
Consume the Web Service using a third-party application. |
||||
|
Design Real-Time Client API solutions in Real-Time Designer. |
Designing Real-Time Client API Solutions in Real-Time Designer |
Using Real-Time Client API in a Shared Resources Environment
In a Shared Resources Environment all the Agents receive a session that runs on the same virtual server, meaning an environment where all sessions share the virtual server's resources. For example, operating system resources and network resources.
Guidelines:
Every Agent who connects to the Shared Resources Environment receives a session. Each session should contain an instance of the Real-Time Client, and an instance of the third-party application, which invokes the Real-Time Client.
Each Real-Time Client in the session uses a port number.
All Sessions share the network resources of the virtual server, therefore each Real-Time Client in a session has to find a free port from the configured port range.
The third party should query the Real-Time Server for the port number of the Real-Time Client which runs with it in the same session.
The third-party Developer must do so for each invocation.
In order for the third party to query the Real-Time Server for the port number of the Real-Time Client that runs with it in the same session, the customer must pick a unique identifier that serves the Real-Time Client and the third-party application that run in the same session.
Flow: Invoking the Real-Time Client API by a Third Party
1. | When the Real-Time Client in the session loads, it searches for a free port number from the configured port range. |
2. | The Real-Time Client with the designated unique identifier publishes that port number to the Real-Time Client Service, which resides on the Real-Time Server. |
3. | The third-party application with the designated unique identifier queries the Public Service for the published port number of the Real-Time Client in its session. |
4. | The third-party application uses the port received from the Public Service to invoke the Real-Time Client in its session. |
5. | When the Real-Time Client terminates, it uses the designated unique identifier to request an Unpublish from the Real-Time Client Service, which resides on the Real-Time Server. |